<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>



  <script>
    // 1.使用setTimeout
    // setTimeout(() => {
    //   console.log('Hello World');
    // }, 1000)

    // 参数 -> 函数
    // new Promise(参数)
    // resolve 解决,reject 拒绝 (这两个参数本身又是函数)


    // 什么情况下会用到Promise? 
    // 一般情况下是有异步操作时,使用Promise对这个异步操作进行封装
    // new执行 -> 构造函数(1.保存了一些状态信息 2.内部执行传入的函数)
    // 在执行传入的回调函数时,会传入两个参数(resolve,reject) 这两个参数本身又是函数
    new Promise((resolve, reject) => {
      setTimeout(() => {
        // 成功的时候调用resolve
        resolve('Hello World')

        // 失败的时候调用reject
        // reject('error message')
      }, 1000)
    }).then((data) => {
      // 100行的处理代码
      console.log(data);
    }).catch((error) => {
      // 错误处理
      console.log(error);
    })
  </script>
</body>

</html>